home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga GigaPD 3
/
Amiga_GigaPD_v3_3of3.iso
/
amiga-magazin
/
ungepackt
/
mai_94
/
disk2
/
tips & tricks
/
joy.s
< prev
next >
Wrap
Text File
|
1993-06-25
|
1KB
|
39 lines
; Markus Horn
;Diese Joystickfunktion benutzt Shift und addx-Befehle um
;die richtungsspezifischen Bits auszufiltern.
;m÷chte man einen Joystick in Port1 abfragen, schreibt man
;anstelle von btst #7,$bfe001
; btst #6,$bfe001
;und anstelle von move.w $dff00c,d0
; move.w $dff00a,d0
;D1 enthΣlt das Ergebnis der Joystickauswertung.
; Bit0 - Joystick oben
; Bit1 - Joystick unten
; Bit2 - Joystick links
; Bit3 - Joystick rechts
; Bit4 - Joystick Feuerknopf gedrⁿckt
testjoy2:
moveq #0,d1 ;d1 - Joyergebnis l÷schen
btst #7,$bfe001 ;teste Feuerknopf Joystick2
bne.s rechts ;nicht gedrⁿckt weiter
addq.w #1,d1 ;feuerknopf - Bit4 in d1 setzen
rechts: move.w $dff00c,d0 ;Joystickstatus -> d0
move.w d0,d2 ;und ->d2
lsr.w #1,d0 ;d0 ein Bit nach rechts schieben
eor.w d0,d2 ;und mit d2 verknⁿpfen
lsr.w #1,d0 ;rechtsrelevantes Bit schieben und
addx.w d1,d1 ;ⁿber xFlag - Bit3 in D1 setzen
add.b d0,d0 ;linksrelevantes Bit schieben und
addx.w d1,d1 ;ⁿber xFlag - Bit2 in D1 setzen
lsr.w #1,d2 ;untenrelevantes Bit schieben und
addx.w d1,d1 ;ⁿber xFlag - Bit1 in D1 setzen
add.b d2,d2 ;obenrelevantes Bit schieben und
addx.w d1,d1 ;ⁿber xFlag - Bit0 in D1 setzen
rts ;Rⁿcksprung